#include <cstdio>
#include <algorithm>
#include <set>
#define pii pair<int,int>
#define fi first
#define se second
using namespace std;
const int N=300005;
const int INF=0x3f3f3f3f;
pii s[N];
int main(void){
    //freopen("data.txt","r",stdin);
    int n;
    multiset<int> l,r;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d%d",&s[i].fi,&s[i].se);
        l.insert(s[i].fi);
        r.insert(s[i].se);
    }
    int mx=0;
    //枚举
    for(int i=0;i<n;i++){
        l.erase(l.find(s[i].fi));
        r.erase(r.find(s[i].se));
        mx=max(mx,(*r.begin()-*l.rbegin()));
        l.insert(s[i].fi);
        r.insert(s[i].se);
    }
    printf("%d\n",mx);
    return 0;
}
